package controller;

import implement.EquipamentoDAOImpl;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.Query;

import dao.EquipamentoDAO;
import enums.SituacaoEquipamento;
import enums.TipoEquipamento;
import enums.TipoUnidade;
import persistence.JPAUtil;
import model.Equipamento;

@ManagedBean
@RequestScoped
public class EquipamentoBean {
	
	
	public EquipamentoDAO equipamentoDAO = new EquipamentoDAOImpl();
	private Equipamento equipamento;
	private List<TipoEquipamento> tipoEquipamentos;
	private List<SituacaoEquipamento> situacoes;
	
	@PostConstruct
	public void init(){
		equipamento = new Equipamento();
		tipoEquipamentos = new ArrayList<TipoEquipamento>();
		situacoes = new ArrayList<SituacaoEquipamento>();
	}
	
	public void salvar(){
		equipamentoDAO.save(equipamento);
	}
	
	public String  editar(Equipamento equipamento){
		this.equipamento = equipamento;
		return "edit";
		
	}
	
	public List<Equipamento> listaTodos(){
		return equipamentoDAO.getAll(Equipamento.class);
	}
	
	public String excluir(){
		equipamentoDAO.remove(equipamento);
		return "list";
	}

	public Equipamento getEquipamento() {
		return equipamento;
	}

	public void setEquipamento(Equipamento equipamento) {
		this.equipamento = equipamento;
	}

	public List<TipoEquipamento> getTipoEquipamentos() {
		tipoEquipamentos = Arrays.asList(TipoEquipamento.values());
		return tipoEquipamentos;
	}

	public List<SituacaoEquipamento> getSituacoes() {
		situacoes = Arrays.asList(SituacaoEquipamento.values());
		return situacoes;
	}
	
}
